我們上一篇學會怎麼將我們的 FastAPI 應用程式打包成 Docker 容器,今天要教大家怎麼用 GCP 的 Cloud Run 將之前的庫存系統範例部屬到雲端上。
範例程式:https://github.com/qwe8989785/FastAPI_easy_Inventory
Cloud Run 是 Google Cloud 的全代管式 Serverless 服務,使用者僅需透過簡單的指令或 Console 介面,即可直接開發及快速部署具備高擴充性的容器化應用程式及管理服務。
在部屬前請先完成以下作業:
GCP 平台建議大家使用 Chrome 瀏覽器開啟,其他瀏覽器可能會有些速度較慢的問題出現。
首先我們直接開啟一個新專案,到 Cloud Run 的頁面直接點選建立服務。
選取持續透過原始碼存放區部署新的修訂版本,我們將透過設定Cloud Build 來對我們的git 倉儲做連動,Cloud Build 會根據你推送的分支來完成自動部屬。
我這裡使用GitHub 來作為我的倉儲使用,跟著設定即可。
這裡選擇要追蹤的分支和建構的類型,我的範例沒有其他分支故選main即可,建構類型我們使用Dockerfile 的形式,會在你的分支有異動時使用你目錄下的 Dockerfile 建置映像檔並部屬到Cloud Run。
CPU 分配選取 只在要求處理期間分配 CPU , 執行個體數量下限設為 0。
如果你的服務在前期沒有較高的流量的話,這樣的配置可以大幅降低你的建設成本。
輸入控管和驗證就直接使用全允許即可,我們只是建立起來測試。
容器通訊埠記得改為你 dockerfile 內所設定的埠號,這樣存取 Cloud Run 時才能存取的到。
設定好後直接建立服務即可。
部屬好後可以看到你的服務的Dashboard,也可以看到它給你一串網址可以存取服務。
到這裡我們就成功部屬到 Cloud Run 上來了。
你如果有 domain 的話也可以在管理自訂網域裡將你的 domain 連接到你的服務。
Cloud Run 是筆者使用過的蠻便利的服務,相同服務有 AWS 的 App Runner。挑選自己用的順手的就好了。當然實務上通常會搭配其他的服務來達成資安上的防護,這裡我就不多做介紹。有想要輕鬆部屬的話,Cloud Run 會是個不錯的選擇。
Cloud Run 是什麼?6大特色介紹與實作教學 - Cloud Ace (cloud-ace.tw)